﻿#ifndef RS485_CONNECT_H
#define RS485_CONNECT_H

#include<QtSerialPort>
#include<qobject.h>
#include<QThread>
#include<qdebug.h>
#include<qstring.h>

class rs485_connect : public QObject
{
    Q_OBJECT

public:
    explicit rs485_connect(QObject* parent = nullptr);

//公共槽函数
public slots:
    //串口的初始化，设置波特率、读写方向、数据位
    //初始化串口通信
    void initPort(const QString& portName);
    //与485设备的同步通信函数
    void runComSync(void);

private:
    //创建的串口成员
    QSerialPort* port;
    //多设备通信的子线程
    QThread* subThread;
    //串口通信的报文,（该函数的确认还是姚再确认一下）
    QByteArray readCommand[4];


signals:
    //建立信号失败的信号
    void faild();
    //建立信号成功的信号
    void succeed();
    //接收数据发送给主线程的信号函数
    // @param addr 设备地址
    // @param dis  读取和处理完成得到的数据
    void result(int addr, double data);
};

#endif // RS485_CONNECT_H
